#include <vector>

class NumericData
{
public:
	NumericData(char const * name, int initialValue);
	~NumericData();

	char const * const GetName();
	int GetValue();
	void SetValue(int newValue);

protected:
	char * mName;
	int mValue;
};

class Database
{
public:
	Database(char const * name);
	~Database();
	void LoadFromFile(char const * filename);


	//int GetChildDatabaseCount();
	//Database * GetChildDatabase(int index);
	//Database * GetChildDatabase(char const * name);
	
	void SetValue(char const * name, int value);
	int GetValue(char const * name);

	int GetValueCount();
	NumericData * GetValueData(int index);
	NumericData * GetValueData(char const * name);
	void AddValue(NumericData * value);

protected:
	char * mName;
	std::vector <NumericData *> mValues;
};